Matthias Clasen [Sun, 5 Apr 2020 23:52:25 +0000 (19:52 -0400)]
gtk: Stop using modifier intents
Reviewing the existing settings, the only backend with
some differences in the modifier intent settings is OS X,
and we would rather have that implemented by interpreting
the existing modifiers in the appropriate way.
X11 Wayland Win32 OS X
primary ctrl ctrl ctrl mod2
mnemonic alt alt alt alt
context menu - - - ctrl
extend sel shift shift shift shift
modify sel ctrl ctrl ctrl mod2
no text alt|ctrl alt|ctrl alt|ctrl mod2|ctrl
shift group varies - - alt
GTK now uses the following modifiers:
primary ctrl
mnemonic alt
extend sel shift
modify sel ctrl
no text alt|ctrl
The context menu and shift group intents were not used
in GTK at all.
Update tests to no longer expect <Primary> to roundtrip
through the accelerator parsing and formatting code.
Matthias Clasen [Sun, 5 Apr 2020 23:33:02 +0000 (19:33 -0400)]
keymap: Remove virtual modifier mapping functions
These are not used anymore.
Drop the vfuncs and their implementations in the
broadway, x11, wayland and win32 backends as well.
Matthias Clasen [Sun, 5 Apr 2020 15:29:12 +0000 (11:29 -0400)]
gdk: Make GdkKeymap a private api
We have replacement apis in GdkDevice and GdkDisplay.
Matthias Clasen [Mon, 6 Apr 2020 19:32:27 +0000 (15:32 -0400)]
imcontextsimple: Disable some win32-only code
This code needs to be redone differently, since keymaps are no
longer going to be exposed. There should really not be this much
ifdef-ed backend-specific code here anyway. Or any, really.
Matthias Clasen [Sun, 5 Apr 2020 14:24:07 +0000 (10:24 -0400)]
gdk: Clean up GdkModifierType
Remove MOD2..MOD5. Backends are expected to just set
the named modifiers.
Matthias Clasen [Sun, 5 Apr 2020 18:40:55 +0000 (14:40 -0400)]
gdk: Redo key events
Add all of the keyboard translation results in the key event,
so we can translate the keyboard state at the time the event
is created, and avoid doing state translation at match time.
We actually need to carry two sets of translation results,
since we ignore CapsLock when matching accelerators, in
gdk_event_matches().
At the same time, drop the scancode field - it is only ever
set on win32, and is basically unused in GTK.
Update all callers.
Matthias Clasen [Sun, 5 Apr 2020 14:25:33 +0000 (10:25 -0400)]
gtk: Remove handling of virtual modifiers
These are going away. We expect to just have
named modifiers in modifier masks now, so we
longer juggle 'real' and 'virtual' modifiers.
Matthias Clasen [Sun, 5 Apr 2020 14:23:18 +0000 (10:23 -0400)]
events: Stop doing elaborate virtual modifier handling
These are going away in the GdkModifierType cleanup.
Just compare the modifiers we got.
Matthias Clasen [Sun, 5 Apr 2020 14:08:01 +0000 (10:08 -0400)]
broadway: Stop using MOD2..MOD5
These are going away in the GdkModifierType cleanup.
Matthias Clasen [Mon, 6 Apr 2020 19:13:00 +0000 (15:13 -0400)]
win32: Stop using MODx modifiers
The win32 backend is using GDK_MOD2_MASK for AltGr,
so define GDK_MOD2_MASK locally to keep this working,
but remove any mention of GDK_MOD3_MASK,...,GDK_MOD5_MASK.
Matthias Clasen [Sun, 5 Apr 2020 14:06:51 +0000 (10:06 -0400)]
wayland: Stop setting MOD2..MOD5
These are going away in the GdkModifierType cleanup.
Matthias Clasen [Sun, 5 Apr 2020 14:04:47 +0000 (10:04 -0400)]
gdk: Remove reserved bit from GdkModifierType
This really has no purpose and obscures the header.
Matthias Clasen [Sun, 5 Apr 2020 13:53:02 +0000 (09:53 -0400)]
gtk: Stop using GDK_MODx_MASK
These are never used in practice, and we never want to
see them in the UI, so stop supporting them. This is
in preparation for cleaning up GdkModifierType.
Matthias Clasen [Sun, 5 Apr 2020 13:39:03 +0000 (09:39 -0400)]
Rename GDK_MOD1_MASK to GDK_ALT_MASK
We've hardcoded Mod1 = Alt for a long time, there is
no need to keep the confusing naming around anymore.
Matthias Clasen [Mon, 6 Apr 2020 01:41:10 +0000 (21:41 -0400)]
tests: Stop using gtk_accelerator_set_default_mod_mask
This is not doing anything useful here.
Matthias Clasen [Sun, 5 Apr 2020 15:28:52 +0000 (11:28 -0400)]
testsuite: Stop using keymap apis
Matthias Clasen [Sun, 5 Apr 2020 15:03:28 +0000 (11:03 -0400)]
gtk: Use display apis for keymap mapping
This removes the last uses of GdkKeymap from GTK.
Matthias Clasen [Sun, 5 Apr 2020 05:04:20 +0000 (01:04 -0400)]
gtk: Stop using keymap apis
Stop using most keymap apis in GTK. Only a few calls
related to virtual modifiers are left.
Matthias Clasen [Sun, 5 Apr 2020 04:48:02 +0000 (00:48 -0400)]
x11: Notify new device properties
Matthias Clasen [Sun, 5 Apr 2020 04:37:51 +0000 (00:37 -0400)]
wayland: Notify new device properties
Matthias Clasen [Sun, 5 Apr 2020 15:02:50 +0000 (11:02 -0400)]
Move keymap mapping functions to GdkDisplay
We want to stop exposing GdkKeymap, so this
functionality needs a new home.
Matthias Clasen [Sun, 5 Apr 2020 15:02:21 +0000 (11:02 -0400)]
Move GdkKeymapKey to gdktypes.h
We are going to use this type in a different header.
Matthias Clasen [Sun, 5 Apr 2020 04:37:23 +0000 (00:37 -0400)]
gdk: Move modifier mask api to GdkDisplay
GdkKeymap is on the way out.
Matthias Clasen [Sun, 5 Apr 2020 04:36:42 +0000 (00:36 -0400)]
gdk: Add keymap properties to GdkDevice
GdkKeymap is on the way out.
Matthias Clasen [Sun, 5 Apr 2020 04:30:23 +0000 (00:30 -0400)]
passwordentry: Show caps lock warning more
Show the caps lock warning regardless of whether we
have the peek icon or not.
Matthias Clasen [Sun, 5 Apr 2020 00:04:42 +0000 (20:04 -0400)]
Drop some no longer used code
Matthias Clasen [Sun, 5 Apr 2020 00:03:44 +0000 (20:03 -0400)]
cell renderer accel: Use gdk_event_get_match
Matthias Clasen [Sun, 5 Apr 2020 00:02:20 +0000 (20:02 -0400)]
Add gdk_event_get_match
This is a counterpart to gdk_event_matches() that can
be used to obtain a shortcut matching an event.
Matthias Clasen [Sat, 4 Apr 2020 21:51:32 +0000 (17:51 -0400)]
Add gdk_event_matches
Move the elaborate key event matching code from
GtkShortcutTrigger to GdkEvent, which greatly reduces
the amount of keymap api use outside of GDK.
Matthias Clasen [Sat, 4 Apr 2020 21:09:12 +0000 (21:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1630
Matthias Clasen [Sat, 4 Apr 2020 19:35:18 +0000 (15:35 -0400)]
gtk-demo: Fix a crash
Using the assistant demo repeatedly was crashing.
Matthias Clasen [Sat, 4 Apr 2020 16:31:43 +0000 (16:31 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
Matthias Clasen [Sat, 4 Apr 2020 16:31:43 +0000 (16:31 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
shortcuts: documentation fixes
See merge request GNOME/gtk!1628
Matthias Clasen [Sat, 4 Apr 2020 15:38:47 +0000 (11:38 -0400)]
shortcuts: documentation fixes
Update symbol lists, and add examples for parsing triggers
and actions.
Piotr Drąg [Sat, 4 Apr 2020 09:56:04 +0000 (11:56 +0200)]
Update POTFILES.skip
Matthias Clasen [Sat, 4 Apr 2020 05:00:22 +0000 (05:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1626
Matthias Clasen [Fri, 3 Apr 2020 21:42:22 +0000 (17:42 -0400)]
colorbutton: Don't add a customize menu
The color swatch in the button does not need a
context menu. Turn it off.
Matthias Clasen [Fri, 3 Apr 2020 21:39:49 +0000 (17:39 -0400)]
colorbutton: Fix focus
The colorbutton contains a button which contains a colorswatch.
We want the focus to go straight to the button, nowhere else,
so mark the swatch as !can-focus.
Adapt tests to match.
Matthias Clasen [Mon, 30 Mar 2020 00:35:17 +0000 (20:35 -0400)]
demos: Remove can-focus from ui files
Matthias Clasen [Sat, 4 Apr 2020 04:03:40 +0000 (04:03 +0000)]
Merge branch 'scrollbar-a11y' into 'master'
Add GtkScrollbarAccessible
See merge request GNOME/gtk!1623
Matthias Clasen [Sat, 4 Apr 2020 03:31:45 +0000 (23:31 -0400)]
scrollbar: Be more defensive
Somehow the scrollbar accessible manages to call
gtk_scrollbar_get_adjustment when priv->range is NULL.
Survive taht.
Matthias Clasen [Sat, 4 Apr 2020 03:12:10 +0000 (03:12 +0000)]
Merge branch 'shortcut-action-parse' into 'master'
Shortcut action parse
See merge request GNOME/gtk!1625
Matthias Clasen [Sat, 4 Apr 2020 02:42:00 +0000 (22:42 -0400)]
testsuite: Add tests for parsing shortcut actions
Matthias Clasen [Sat, 4 Apr 2020 02:41:15 +0000 (22:41 -0400)]
Add an api to parse shortcut actions
This is so we can test this code. While doing it
I also fixed the missing else that was caused it
not to work.
Matthias Clasen [Fri, 3 Apr 2020 19:14:26 +0000 (15:14 -0400)]
Add GtkScrollbarAccessible
When GtkScrollbar stopped being a GtkRange,
GtkRangeAccessible stopped working for scrollbars.
Update a11y tests to match.
Carlos Garnacho [Fri, 3 Apr 2020 18:37:44 +0000 (18:37 +0000)]
Merge branch 'wip/carlosg/fix-surrounding-text-master' into 'master'
imwayland: Clamp the surrounding string end correctly
Closes #2565
See merge request GNOME/gtk!1621
Matthias Clasen [Fri, 3 Apr 2020 18:23:27 +0000 (18:23 +0000)]
Merge branch 'focus-test' into 'master'
Focus test
See merge request GNOME/gtk!1622
Carlos Garnacho [Fri, 3 Apr 2020 10:44:37 +0000 (12:44 +0200)]
imwayland: Clamp the surrounding string end correctly
In the paths where len > MAX_LEN and cursor/anchor are separated by
at least MAX_LEN from text edges, we were clamping the right end of
the surrounding string at MAX_LEN. Oops.
This end anchor may go as far as the string length, although just
up to len - MAX_LEN in real terms (due to the condition above that
caches cursor/anchor positions being near enough the text end).
Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2565
(cherry-picked from commit
d7fb15c822eabe22ffda19892153d69b0f4fc2f3)
Matthias Clasen [Fri, 3 Apr 2020 13:36:19 +0000 (09:36 -0400)]
testsuite: Add a big focus chain testcase
Matthias Clasen [Fri, 3 Apr 2020 15:22:00 +0000 (11:22 -0400)]
testsuite: Try harder to record a full focus chain
It is hard to avoid widgets with the same name in a
large ui file - try harder to record a full focus chain
before decide that we've wrapped, by including the widget
address in the comparison. Note that we don't include
the addresses in the generated output, since that would
make expected output vary from run to run.
Emmanuele Bassi [Fri, 3 Apr 2020 15:21:59 +0000 (15:21 +0000)]
Merge branch 'gir-fixes' into 'master'
Annotation fixes
See merge request GNOME/gtk!1616
Matthias Clasen [Fri, 3 Apr 2020 15:03:51 +0000 (15:03 +0000)]
Merge branch 'move-gdkgrab-decl' into 'master'
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
See merge request GNOME/gtk!1615
Emmanuele Bassi [Fri, 3 Apr 2020 14:30:56 +0000 (15:30 +0100)]
Annotation fixes
Match the arguments name in the declaration and the definition, and make
sure we have the proper transfer annotations.
Olivier Fourdan [Fri, 3 Apr 2020 13:19:37 +0000 (15:19 +0200)]
gdk: Move GdkGrabStatus and GdkGrabOwnership decl.
With the removal of `gdk_seat_grab` we do not need to keep the
definitions of `GdkGrabStatus` and `GdkGrabOwnership` public.
Move those definitions to become internal only.
Timm Bäder [Fri, 3 Apr 2020 06:03:32 +0000 (08:03 +0200)]
shortcutcontroller: fix transfer full annotation
Timm Bäder [Fri, 3 Apr 2020 05:37:54 +0000 (07:37 +0200)]
window: Don't leak toplevel layout
Matthias Clasen [Fri, 3 Apr 2020 01:07:14 +0000 (01:07 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1611
Matthias Clasen [Thu, 2 Apr 2020 21:40:44 +0000 (17:40 -0400)]
wayland: Add a comment about keyboard state handling
Clarify a point that took me a few hours to fully track
down, so lets preserve what I found for the next poor
sould coming this way.
Matthias Clasen [Mon, 30 Mar 2020 01:50:55 +0000 (21:50 -0400)]
a11y tests: Update for focus state changes
Matthias Clasen [Mon, 30 Mar 2020 01:48:57 +0000 (21:48 -0400)]
a11y: Set focus-related states properly
Entries and menubuttons are no longer focusable themselves,
they have focusable children. Since we don't have accessible
objects for those, transfer the focus-related state (focusable
and focused) from the children to the main accessible object.
Matthias Clasen [Thu, 2 Apr 2020 21:21:01 +0000 (17:21 -0400)]
window: tie focus to surface state changes
We don't get a focus-out on the event controller, when
the surface is losing keyboard focus, since we are not
moving our focus to some other widget, so we are never
unsetting the mnemonics-visible property. Do that in
response to surface state changes instead.
Matthias Clasen [Thu, 2 Apr 2020 20:43:29 +0000 (20:43 +0000)]
Merge branch 'cherry-picked-wayland-keyboard-fix' into 'master'
gdk/wayland: Clear modifiers when we lose keyboard focus
Closes #2112
See merge request GNOME/gtk!1610
Jan Alexander Steffens (heftig) [Thu, 2 Apr 2020 17:31:22 +0000 (19:31 +0200)]
gdk/wayland: Clear modifiers when we lose keyboard focus
When we `Alt+Tab` away from a GTK application, it loses keyboard focus.
If we don't clear the modifiers, events from other devices that we
receive while unfocused will assume `Alt` is still pressed. This results
in e.g. Firefox navigating through the history instead of scrolling the
page when using the mouse wheel on it.
We don't get any information about modifiers while we are missing
keyboard focus, so assuming no modifiers are active is the best we can
do.
The shell sends us a modifier update immediately before we regain
keyboard focus, so the state shouldn't get out of sync.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2112
Matthias Clasen [Thu, 2 Apr 2020 14:46:45 +0000 (14:46 +0000)]
Merge branch 'wip/smcv/libdir-independent-valgrind-suppressions' into 'master'
supp: Use a single suppressions file for lib, lib64 and multiarch
See merge request GNOME/gtk!1603
Matthias Clasen [Thu, 2 Apr 2020 13:29:32 +0000 (13:29 +0000)]
Merge branch 'im-context-wayland-fixes' into 'master'
Im context wayland fixes
See merge request GNOME/gtk!1605
Matthias Clasen [Thu, 2 Apr 2020 13:01:33 +0000 (09:01 -0400)]
imcontexsimple: Move Compose file loading to class_init
This ensures that it is done only once.
Matthias Clasen [Thu, 2 Apr 2020 12:56:21 +0000 (08:56 -0400)]
imcontextsimple: Simpify Compose file loading
We are not loading the Compose file for individual contexts,
it just gets added to a global list. So don't pass an im context
along. This will let us move the loading out of the initialization
of individual contexts, and only do it once.
Matthias Clasen [Thu, 2 Apr 2020 12:47:02 +0000 (08:47 -0400)]
imcontextsimple: Load ~/.Compose unconditionally
There is nothing display-specific in the ~/.Compose file,
so we can just try to load it without looking at the
display we are on.
Matthias Clasen [Thu, 2 Apr 2020 12:24:01 +0000 (08:24 -0400)]
imcontextsimple: Add a profiler mark for IO
We are loading a file here, thankfully in a thread, but
we do it every time an entry is created. Add a profiler
mark, to make this visible.
Simon McVittie [Thu, 2 Apr 2020 08:18:55 +0000 (09:18 +0100)]
supp: Use a single suppressions file for lib, lib64 and multiarch
In addition to the traditional library directory lib and the 64-bit
multilib directory lib64, this will cover Debian-style multiarch
(lib/x86_64-linux-gnu etc.), Arch Linux 32-bit (lib32), x32 and
various others.
Signed-off-by: Simon McVittie <smcv@debian.org>
Matthias Clasen [Thu, 2 Apr 2020 05:19:13 +0000 (05:19 +0000)]
Merge branch 'fix-menu-flicker' into 'master'
Fix crossing event generation
Closes #2536
See merge request GNOME/gtk!1601
Matthias Clasen [Thu, 2 Apr 2020 04:39:46 +0000 (00:39 -0400)]
Fix crossing event generation
We were not properly setting the new_descendent field
in Crossing structs for GTK_CROSSING_OUT events. This
was causing extraneous ::leave signals to be emitted,
and make model buttons in popover menus flicker when
hovered.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536
Matthias Clasen [Wed, 1 Apr 2020 20:40:17 +0000 (20:40 +0000)]
Merge branch 'drop-popover-demo' into 'master'
gtk-demo: Remove the popover demo
Closes #2429
See merge request GNOME/gtk!1600
Matthias Clasen [Wed, 1 Apr 2020 19:44:22 +0000 (15:44 -0400)]
gtk-demo: Remove the popover demo
It doesn't work anymore, since popovers now need
support in the parent, and we don't really need
a demo just for popovers. They are used everywhere
already.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2429
Emmanuele Bassi [Wed, 1 Apr 2020 13:45:19 +0000 (13:45 +0000)]
Merge branch 'flow-box-typo' into 'master'
gtkflowbox: Fix a minor typo in the documentation
See merge request GNOME/gtk!1599
Philip Withnall [Wed, 1 Apr 2020 13:04:46 +0000 (14:04 +0100)]
gtkflowbox: Fix a minor typo in the documentation
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Matthias Clasen [Wed, 1 Apr 2020 05:04:02 +0000 (05:04 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
keynav: Fix Shift-Tab
See merge request GNOME/gtk!1598
Matthias Clasen [Wed, 1 Apr 2020 05:02:15 +0000 (05:02 +0000)]
Merge branch 'cursor-aspect-ratio' into 'master'
Add a cursor-aspect-ratio setting
See merge request GNOME/gtk!1597
Matthias Clasen [Wed, 1 Apr 2020 04:24:56 +0000 (00:24 -0400)]
Update the settings test
Matthias Clasen [Wed, 1 Apr 2020 04:21:19 +0000 (00:21 -0400)]
keynav: Fix Shift-Tab
This was broken by the shortcuts branch merge.
Matthias Clasen [Sun, 2 Feb 2020 12:21:42 +0000 (13:21 +0100)]
Add a cursor-aspect-ratio setting
Add a setting that controls how thick the text caret is drawn.
The default value is 0.04.
Matthias Clasen [Wed, 1 Apr 2020 01:09:30 +0000 (21:09 -0400)]
3.98.2
Matthias Clasen [Wed, 1 Apr 2020 00:16:26 +0000 (00:16 +0000)]
Merge branch 'wip/carlosg/stuck-pointer-focus' into 'master'
gtkmain: Do not try to coalesce/ignore crossing events
See merge request GNOME/gtk!1594
Matthias Clasen [Tue, 31 Mar 2020 23:19:09 +0000 (23:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1593
Carlos Garnacho [Tue, 31 Mar 2020 22:32:57 +0000 (00:32 +0200)]
gtkmain: Do not try to coalesce/ignore crossing events
Under grabbing circumstances we used to get several crossing events,
some corresponding to the grab itself and some corresponding to
pointer motion.
The backends now do a better job at keeping those simple, which
means we sit listening for events that don't actually arrive. This
triggers pointer focus issues when dragging windows or opening
grabbing popups.
Actually obey those events, they will be the only ones we get now.
Matthias Clasen [Tue, 31 Mar 2020 19:59:23 +0000 (15:59 -0400)]
testsuite: Add a test for transforms in builder files
Matthias Clasen [Tue, 31 Mar 2020 19:51:25 +0000 (15:51 -0400)]
testsuite: Add a test for parsing layout properties
and drop the child properties test that doesn't
do anything anymore.
Matthias Clasen [Tue, 31 Mar 2020 18:32:18 +0000 (18:32 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1591
Matthias Clasen [Tue, 31 Mar 2020 17:06:19 +0000 (13:06 -0400)]
window: Fix residual resizing issues
After the GdkToplevel split, GtkWindow occasionally
forgets its minimum size. Fix this by keeping a GdkToplevelLayout
around and reusing it.
Chun-wei Fan [Tue, 31 Mar 2020 04:00:26 +0000 (12:00 +0800)]
meson.build: Fix Visual Studio builds
We need to make the C++ language available before we can access the C++
compiler object...
Matthias Clasen [Tue, 31 Mar 2020 01:58:24 +0000 (21:58 -0400)]
NEWS: Updates
Matthias Clasen [Tue, 31 Mar 2020 00:39:37 +0000 (00:39 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1589
Matthias Clasen [Tue, 31 Mar 2020 00:09:29 +0000 (20:09 -0400)]
shortcutcontroller: Document buildable support
Matthias Clasen [Mon, 30 Mar 2020 23:03:22 +0000 (19:03 -0400)]
testsuite: Add a builder test for shortcut controllers
Matthias Clasen [Mon, 30 Mar 2020 23:02:35 +0000 (19:02 -0400)]
shortcutcontroller: Fix builder support
The GtkBuilder support was not working anymore after
triggers and actions have been turned into objects.
Fix this.
Matthias Clasen [Mon, 30 Mar 2020 18:12:14 +0000 (14:12 -0400)]
Add new api to the docs
Matthias Clasen [Mon, 30 Mar 2020 17:45:40 +0000 (17:45 +0000)]
Merge branch 'wip/hadess/portal-fixes' into 'master'
Portal fixes
See merge request GNOME/gtk!1585
Matthias Clasen [Mon, 30 Mar 2020 17:41:12 +0000 (17:41 +0000)]
Merge branch 'issue982' into 'master'
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
Closes #982
See merge request GNOME/gtk!1542
Bastien Nocera [Mon, 30 Mar 2020 12:18:11 +0000 (14:18 +0200)]
filechoosernativeportal: Fall back if portal is too old
Add portal version checking as originally implemented for the GTK 3.x
branch.
See:
35fec1c6b298e0e294530e1ffc8615b5bd261531
Bastien Nocera [Mon, 23 Mar 2020 13:56:43 +0000 (14:56 +0100)]
Add portal version checking helper
Add gtk_get_portal_interface_version() to check the version of a portal.